package com.bootdo.appsystem.service;

import com.bootdo.app.utils.returnresponse.ServerResponse;
import com.bootdo.appsystem.domain.SellerDO;
import com.bootdo.appsystem.domain.UseraccountDO;

import java.util.List;
import java.util.Map;

/**
 * 
 * 
 * @author xiaoxiao
 * @email 806191255@qq.com
 * @date 2018-05-12 14:42:14
 */
public interface UseraccountService {
	
	UseraccountDO get(Integer uid);
	
	List<UseraccountDO> list(Map<String, Object> map);
	
	int count(Map<String, Object> map);
	
	int save(UseraccountDO useraccount);
	
	int update(UseraccountDO useraccount);
	
	int remove(Integer uid);
	
	int batchRemove(Integer[] uids);

	/**
	 * 修改用户余额和总额
	 * @param uid
	 * @param money
	 */
	void addMoney(Integer uid, Double money);

	/**
	 * 仅修改用户余额
	 * @param uid
	 * @param money
	 */
	void addMoneyNotAll(Integer uid, Double money);

	/**
	 * 显示用户的推广会员
	 * @param map 这个是query，用来分页；需要传递以下数据 <br>
	 *  【vuid】 用户编号<br>
	 *  【vLeave】 显示层级<br>
	 * @return 用户的数据
	 */
	List<UseraccountDO> getUserChildList(Map<String, Object> map);
	int getCountUserChildList(Map<String,Object> map);

	/**
	 * 显示用户的推广商家
	 * @param map 这个是query，用来分页；需要传递以下数据<br>
	 *  【vuid】 用户编号<br>
	 *  【vLeave】 显示层级<br>
	 * @return 用户的数据
	 */
	List<SellerDO> getSellerChildList(Map<String, Object> map);
	int getCountSellerChildList(Map<String,Object> map);

}
